/****************************************************************************
 *
 *   Copyright (c) 2020-2022 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.49176, 0.40065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.68269, 0.39371 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.69321, 0.38793 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.57205, 0.38312 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.36231, 0.3791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.10448, 0.37575 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.8372, 0.37296 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.59488, 0.37062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.40236, 0.36864 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.26844, 0.36697 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.18044, 0.36554 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.10163, 0.36435 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.9722, 0.3634 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.71354, 0.36276 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.23534, 0.3625 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.4446, 0.36275 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.25593, 0.36365 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.60199, 0.36537 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.44335, 0.36805 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.77682, 0.37183 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.64153, 0.37679 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.12175, 0.38299 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.34439, 0.39041 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.46911, 0.39907 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.67063, 0.40893 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.88466, 0.42003 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.0624, 0.43233 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.77857, 0.4458 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.00877, 0.46025 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.78759, 0.47533 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.20047, 0.49043 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.37142, 0.50476 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.45012, 0.51729 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.59933, 0.52688 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -16.98035, 0.53248 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.73317, 0.53329 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.95218, 0.52904 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.66485, 0.52005 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.82403, 0.50724 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.3196, 0.4919 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -34.00523, 0.47547 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.72849, 0.45929 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.35355, 0.44441 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.77143, 0.43157 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.8999, 0.42119 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.67755, 0.41347 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -53.05666, 0.40846 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.9971, 0.40616 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.46159, 0.40654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.41158, 0.40964 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.80233, 0.41556 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.57635, 0.4245 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.65582, 0.43677 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.93603, 0.4527 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.28468, 0.47254 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.55373, 0.49614 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.61293, 0.52248 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.41157, 0.54919 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.05936, 0.57244 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.88414, 0.58779 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.40087, 0.59206 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.17371, 0.58494 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.34743, 0.5689 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.9093, 0.54759 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.43715, 0.52435 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.9703, 0.50148 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.60276, 0.48029 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.44625, 0.46138 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.61256, 0.44493 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.20721, 0.43086 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.3277, 0.41896 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 31.06286, 0.40898 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.49176, 0.40065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.53284, 0.37422 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.83563, 0.37033 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.96588, 0.36708 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.96325, 0.36439 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.86144, 0.36218 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.69295, 0.36039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.49253, 0.35897 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.29676, 0.3579 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.13911, 0.35713 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.04257, 0.35666 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 26.01216, 0.35646 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.02938, 0.35653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.0491, 0.35688 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 25.99894, 0.35752 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.78187, 0.35851 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.28327, 0.35993 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.3833, 0.36194 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 22.97324, 0.36472 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 20.97334, 0.36846 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.34904, 0.37335 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.12398, 0.3795 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.38784, 0.38695 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.29582, 0.39568 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.05571, 0.40564 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -1.09957, 0.41681 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.94905, 0.42926 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.31985, 0.44313 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.11128, 0.45854 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.30124, 0.47553 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -14.9361, 0.49393 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.11087, 0.51335 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -16.94884, 0.53303 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.58978, 0.55181 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.18999, 0.56807 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -18.92641, 0.57985 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -19.98839, 0.58526 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.54464, 0.58305 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.69299, 0.57306 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.42145, 0.55636 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.60773, 0.53503 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -33.05843, 0.51152 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.56392, 0.48816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.94069, 0.46671 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -43.04867, 0.4483 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.78823, 0.43347 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -48.08795, 0.42232 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.89249, 0.41475 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.15422, 0.41051 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.8289, 0.40933 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.8731, 0.41094 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.24132, 0.4151 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88243, 0.42157 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.73802, 0.43007 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.74881, 0.44016 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.87604, 0.45112 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.13886, 0.46179 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.65459, 0.4707 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.65281, 0.47643 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.43805, 0.47814 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.31146, 0.47588 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.49953, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.13059, 0.4627 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.74371, 0.45368 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.11207, 0.44399 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.97708, 0.43408 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.34423, 0.42429 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.22121, 0.41487 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.62054, 0.40604 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.56271, 0.39795 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 24.07852, 0.3907 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.21013, 0.38434 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 26.00936, 0.37886 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.53284, 0.37422 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.70479, 0.3548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 23.04658, 0.35274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.23396, 0.35108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.30036, 0.34976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.26955, 0.34873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.16192, 0.34797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 23.00141, 0.34747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.81818, 0.34722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.64573, 0.34724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.51421, 0.34755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.44292, 0.34816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43362, 0.3491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.46399, 0.35036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.48083, 0.35196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.39479, 0.35389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.08129, 0.35623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.39202, 0.35908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.17702, 0.36264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.31251, 0.36714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.72789, 0.3728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.4278, 0.37975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.50645, 0.38797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.14944, 0.39739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.38428, 0.40787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.80339, 0.41939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.83939, 0.43208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.29647, 0.44624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.07853, 0.46216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.18747, 0.48009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.69779, 0.50014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.71917, 0.5222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.36242, 0.54589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.72534, 0.57034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -20.90766, 0.59395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.04689, 0.61412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.34551, 0.62763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.05141, 0.63147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.37904, 0.62403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.41294, 0.6059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -28.06356, 0.5797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -31.10671, 0.54916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.2714, 0.51802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.31587, 0.48917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -40.05996, 0.46437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.38072, 0.44434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.19327, 0.42914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.43373, 0.41841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -46.05018, 0.41163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -46.00042, 0.4082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.2524, 0.4075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.78384, 0.40891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.58072, 0.4118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.63996, 0.41551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -34.98392, 0.41925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.68896, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -25.91344, 0.42343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -20.89619, 0.42254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.90679, 0.41953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.16816, 0.41497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.80115, 0.40965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.82261, 0.40421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.81401, 0.39901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.16844, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.27956, 0.38945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.15545, 0.38489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.78079, 0.38038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.12981, 0.37594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.17664, 0.37162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.90206, 0.3675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.2989, 0.36369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.3769, 0.36027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.16447, 0.3573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.70479, 0.3548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.63621, 0.34006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.97353, 0.33914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.17788, 0.33849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.2815, 0.33809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.30105, 0.33788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.24471, 0.33784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.1223, 0.33799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.95169, 0.33832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.75875, 0.33887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.57272, 0.33968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42056, 0.3408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.32104, 0.34225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.27638, 0.34405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.25935, 0.34619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.19841, 0.34867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 18.96964, 0.3515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.40488, 0.35479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.31869, 0.35872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.54714, 0.36356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 12.98707, 0.36952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.62808, 0.37671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.57319, 0.38506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.0412, 0.3944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.65955, 0.40452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.18927, 0.41542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.24998, 0.42733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.64476, 0.44066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.30167, 0.45585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.26004, 0.47322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.62915, 0.49298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.53401, 0.51525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.06776, 0.54002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.27274, 0.56697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.16493, 0.59504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.79717, 0.62188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.3294, 0.64366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.04989, 0.65579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.29893, 0.65464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.31732, 0.6393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.12551, 0.61203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.52546, 0.57737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.20695, 0.54038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.86519, 0.50526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.26265, 0.47465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.2338, 0.44969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.66511, 0.43046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.47669, 0.41644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.61442, 0.40681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.0498, 0.40069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.78073, 0.39718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.82788, 0.39544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.22784, 0.39469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.03225, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.32258, 0.39331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.23687, 0.39144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -17.98288, 0.38827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.80878, 0.3839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -9.93293, 0.3788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.47555, 0.37364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.43678, 0.36896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.72824, 0.36504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76868, 0.36188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14973, 0.35931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.46, 0.35708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.69499, 0.35498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.81973, 0.35289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.78952, 0.35078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.56167, 0.34865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.09936, 0.34656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.3752, 0.34459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.37818, 0.3428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.12028, 0.34128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.63621, 0.34006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.13366, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.43644, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.62608, 0.32854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.7387, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.78846, 0.32912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.77409, 0.32962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.69153, 0.33025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.54396, 0.33103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34484, 0.33197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.11611, 0.33312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.88563, 0.33453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.68367, 0.33625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.53398, 0.33828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.43533, 0.34061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.33695, 0.34323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.1208, 0.34614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.60582, 0.34945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.57965, 0.35335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.84829, 0.35809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.28707, 0.36389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 6.88136, 0.37078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.75098, 0.37862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.85077, 0.38716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.57573, 0.39617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -11.05586, 0.40573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.98826, 0.41616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.19395, 0.42797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.63213, 0.44164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.37469, 0.45744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.55435, 0.4755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.30105, 0.49586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.68682, 0.51861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.70481, 0.54375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.29931, 0.57079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.44307, 0.59815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.23247, 0.62257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -20.94548, 0.63938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -19.99672, 0.64403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.77689, 0.63417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.47219, 0.61086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.99669, 0.57803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -24.0682, 0.54087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.34167, 0.50419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.50668, 0.47133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.32267, 0.44396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.61714, 0.42241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.27618, 0.40619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.23982, 0.39444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.49997, 0.38614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.09317, 0.38034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.08419, 0.37618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.54659, 0.37296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.55607, 0.37009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.20857, 0.36707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.65165, 0.36356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.0946, 0.35942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.7684, 0.35485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.8489, 0.35028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.39455, 0.34615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33876, 0.3428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.46449, 0.3403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.17262, 0.33855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.89659, 0.33733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.67472, 0.33639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48233, 0.33552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.26297, 0.33463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.95757, 0.33368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.5164, 0.33268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.89687, 0.33167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 15.06149, 0.33071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.985, 0.32986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.66627, 0.32918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.13366, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.09253, 0.32014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.33891, 0.32037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.48692, 0.32081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.58078, 0.32144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.63698, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.64901, 0.3231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.60165, 0.3241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.48402, 0.32521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.29563, 0.32644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.04771, 0.32784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.76426, 0.32942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.48163, 0.33124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.23961, 0.33329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.05793, 0.33555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.90285, 0.33801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.66129, 0.34071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.14309, 0.34374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.1183, 0.34732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.37663, 0.35168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.78767, 0.35697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.34678, 0.36315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.19873, 0.37 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.37189, 0.37721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.9938, 0.38461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.29589, 0.39236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.9923, 0.40091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.93033, 0.4108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.09213, 0.42246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.56229, 0.43607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.47464, 0.45154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -24.94938, 0.46867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.03913, 0.4873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.71052, 0.50732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -23.87856, 0.52848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.48662, 0.5498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.6011, 0.56913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.47301, 0.58316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.51383, 0.58833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.16778, 0.58243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.74217, 0.56555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.30181, 0.54009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.67873, 0.50978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.56057, 0.47851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.59065, 0.44938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.44031, 0.42426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.84953, 0.40385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.64602, 0.38796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.75047, 0.37595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.1687, 0.367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -22.96845, 0.36029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.24353, 0.35516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.08077, 0.35105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.55201, 0.34753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.74104, 0.34423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.7851, 0.34087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.88754, 0.33734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.27217, 0.33376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.09888, 0.33041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39801, 0.32757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.06571, 0.32544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.08244, 0.32403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.2326, 0.32322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.50568, 0.32281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.92927, 0.32258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.45509, 0.32238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.00347, 0.32212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.50245, 0.32179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.89999, 0.32141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.15419, 0.32101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.22349, 0.32062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.0722, 0.3203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.68767, 0.32013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.09253, 0.32014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.45164, 0.31389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.62745, 0.31439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.71251, 0.31509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.76231, 0.31598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.79993, 0.31702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.81805, 0.31818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.79392, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70491, 0.32077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.53752, 0.3222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.29185, 0.32374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 12.98605, 0.3254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.65861, 0.3272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.35916, 0.32914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.1203, 0.33119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.91719, 0.33335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.63704, 0.33567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.08255, 0.3383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.01583, 0.34144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.2255, 0.34528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.59205, 0.34989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.13398, 0.35514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.97481, 0.36073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.4274, 0.36635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.84963, 0.37191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.88915, 0.37766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.28881, 0.38411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.91814, 0.3918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.76517, 0.40111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.90448, 0.41208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.45196, 0.42442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.51235, 0.43766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.13401, 0.45129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.29544, 0.46494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -21.93895, 0.47828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.04037, 0.49076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.6811, 0.50131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.08427, 0.50833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.59111, 0.51012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.5807, 0.50549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.36679, 0.49428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.11423, 0.47753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.80071, 0.45715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.22729, 0.43536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -13.06976, 0.41421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.95603, 0.39515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.54778, 0.37896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.60344, 0.36582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -18.00736, 0.35545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.76166, 0.3474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -16.94664, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.66563, 0.33624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.00081, 0.33234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.00674, 0.32914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.74685, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.34449, 0.32377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -4.99923, 0.32124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.93786, 0.31882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.32202, 0.31665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.17417, 0.31492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.63028, 0.31374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.30443, 0.31311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.05915, 0.31292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.02441, 0.31302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.21697, 0.31323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.56485, 0.31342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.9652, 0.31354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33386, 0.31358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.6182, 0.31356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.77973, 0.31351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.77562, 0.31346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.56178, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.11485, 0.3136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.45164, 0.31389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.16741, 0.30973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.26777, 0.3104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.27691, 0.31126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.26384, 0.31231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.26185, 0.3135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.26671, 0.31481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.25147, 0.3162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18419, 0.31766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.0402, 0.31917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.80989, 0.32074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.50597, 0.32238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.1671, 0.32407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.84704, 0.32581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.58232, 0.32757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.34767, 0.32938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.02531, 0.33133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.41321, 0.33356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.27554, 0.33627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.41436, 0.33959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.73503, 0.3435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.28743, 0.34776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.7277, 0.35204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.99463, 0.35606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -12.15474, 0.35981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.88673, 0.3636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.96171, 0.36795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.25982, 0.37334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.75904, 0.38009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51086, 0.38815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.60884, 0.39712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.15165, 0.40637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.2098, 0.41518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.81439, 0.423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -18.97947, 0.4295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -16.74614, 0.43448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.21924, 0.43774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.5752, 0.43895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.04288, 0.4377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -6.87365, 0.43357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.30967, 0.42639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.54331, 0.41643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66312, 0.40438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.60439, 0.39124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.13813, 0.378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.91897, 0.36551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.57899, 0.35436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.82622, 0.34484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.50516, 0.33696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.59922, 0.33056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.18311, 0.32543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.35383, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.17852, 0.31808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.68959, 0.31549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -6.9283, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.00246, 0.31156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.10643, 0.30992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.4715, 0.30845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26782, 0.30723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.47905, 0.30634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.90322, 0.30586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.23818, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.71543, 0.306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.47341, 0.30643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.52024, 0.30693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.76346, 0.30739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.07957, 0.30777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.37312, 0.30807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.59067, 0.30831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.69682, 0.30851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.64779, 0.3087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.39175, 0.30893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.89475, 0.30926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.16741, 0.30973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.19704, 0.3075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.22888, 0.30829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.16055, 0.30925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.07636, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 11.02287, 0.31164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 11.00238, 0.313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.98623, 0.31442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93461, 0.31587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.81286, 0.31734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.60327, 0.31882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.31463, 0.32032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 9.98516, 0.32181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.66843, 0.32328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.39727, 0.32473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.13846, 0.32621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.7663, 0.32783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.07813, 0.32974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.85019, 0.33211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 4.90979, 0.33499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.19622, 0.33826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.20774, 0.34162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -5.08276, 0.34472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -9.11898, 0.34733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.9853, 0.3495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.39322, 0.35155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -19.1337, 0.35397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -21.08626, 0.35718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.21244, 0.36143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.54293, 0.36662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.16001, 0.37237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.17418, 0.37803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.69951, 0.3829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -17.83908, 0.38646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.68747, 0.38847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.34237, 0.38903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -10.91001, 0.38838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.50038, 0.38678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.22509, 0.38432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.20939, 0.3809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.60896, 0.37638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.60211, 0.37069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.33745, 0.36398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.85485, 0.35661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -3.02947, 0.34896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.58294, 0.34144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.16553, 0.33437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.46907, 0.32799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.31176, 0.32244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.65624, 0.31772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.56307, 0.31379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.11499, 0.31058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.36026, 0.30801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.30866, 0.30599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -4.97915, 0.30443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.46153, 0.30321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.93971, 0.30223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.64424, 0.30145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.24752, 0.3009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.70243, 0.30062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.85552, 0.30063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 0.95155, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.2363, 0.30144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.85529, 0.30211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.81147, 0.30282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 3.99806, 0.3035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.27605, 0.30412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.54033, 0.30466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.73525, 0.30513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.82621, 0.30556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.76706, 0.30596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.49771, 0.30638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.97323, 0.30688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.19704, 0.3075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.48825, 0.30705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.47264, 0.30795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.33953, 0.309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.18952, 0.31017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.08537, 0.31143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.03894, 0.31276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.02172, 0.3141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98637, 0.31544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.88803, 0.31674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.70131, 0.31801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.43195, 0.31925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.11753, 0.32045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.80863, 0.3216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.52961, 0.32273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.23572, 0.32392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.79418, 0.32528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.00768, 0.32697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.67345, 0.32909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.65223, 0.33163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 0.92063, 0.33437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.40983, 0.33699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -6.11222, 0.33914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.89414, 0.34062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.45628, 0.34152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.53768, 0.34216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.94022, 0.34296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.53866, 0.34429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28362, 0.34635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.19925, 0.34905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.37387, 0.35208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -18.94256, 0.35491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.06486, 0.35699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -14.90429, 0.35795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.6131, 0.35768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.31897, 0.35637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.11165, 0.35437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.0373, 0.35203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.11384, 0.34954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.37003, 0.34692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -0.88885, 0.34404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.18028, 0.34077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.66611, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.46384, 0.33301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.38463, 0.32871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.6729, 0.32432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.09308, 0.31999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.34741, 0.31587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.24569, 0.31208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.73686, 0.30871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.8681, 0.30579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.70811, 0.30333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.28841, 0.30133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.59936, 0.29976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.63938, 0.2986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.47835, 0.29777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.28354, 0.29721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27631, 0.2969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.3651, 0.2968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.60038, 0.29694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.55918, 0.2973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.48774, 0.29786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.63789, 0.29858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.15959, 0.29943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.05486, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.21078, 0.30123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.47999, 0.30209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.75036, 0.30288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.96229, 0.30362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.07873, 0.3043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.04884, 0.30495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.80317, 0.30558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.28484, 0.30627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.48825, 0.30705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.9739, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.94783, 0.30928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.77906, 0.31041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.58435, 0.3116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.44478, 0.31283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.38472, 0.31406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.37753, 0.31525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.36822, 0.31637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.3005, 0.31741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.14019, 0.31837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.88929, 0.31927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.58377, 0.3201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.26949, 0.3209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 7.96086, 0.32171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.60235, 0.32264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.05848, 0.3238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.14427, 0.32533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.68506, 0.32728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.57935, 0.32954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), -0.1598, 0.33188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.39891, 0.33392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.91291, 0.33534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.43262, 0.33599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.68884, 0.33595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.44192, 0.33551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.50145, 0.33504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.74278, 0.33487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.11952, 0.33518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.66647, 0.33593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.49022, 0.3369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.74974, 0.33774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.63298, 0.33809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.33421, 0.3377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.0316, 0.33652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -7.86214, 0.33473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -5.89851, 0.33259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.1428, 0.33039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.55113, 0.3283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.08674, 0.32634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.22236, 0.32444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.25861, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.85019, 0.3204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.85811, 0.31814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.26713, 0.31572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.22272, 0.31315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -1.01333, 0.31051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.16632, 0.30785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04981, 0.30528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.60673, 0.30289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.87556, 0.30072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.91589, 0.29884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.74882, 0.29726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.35179, 0.29601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.70682, 0.2951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.86384, 0.29451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.96839, 0.29421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.22402, 0.29417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.19878, 0.29437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.25621, 0.29477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.06888, 0.29536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.12453, 0.2961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), -0.07515, 0.29697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.36822, 0.29797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.2109, 0.29905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.34278, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.61634, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.91593, 0.30241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17673, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.3561, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.39612, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.21702, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.7487, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.9739, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.571, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.58745, 0.31209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.42999, 0.31333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.22903, 0.31455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.08446, 0.31571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.03534, 0.31679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.05893, 0.31777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09318, 0.31862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.0694, 0.31933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.94275, 0.31993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.70923, 0.32045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.40104, 0.3209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.05796, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.68534, 0.32184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.22085, 0.32253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.53267, 0.32353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.45496, 0.32492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.846, 0.32672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.64336, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -1.10642, 0.33074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.25363, 0.33232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.57959, 0.3332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.83802, 0.33325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.78566, 0.33254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.20199, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.90943, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79677, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.83657, 0.32765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.08611, 0.32699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.6716, 0.32653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.76361, 0.32608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.55408, 0.32543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.23832, 0.32441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -7.99589, 0.323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -5.96334, 0.32127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.20503, 0.31941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.70209, 0.31757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.37723, 0.3159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.15298, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.98296, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.94371, 0.31189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.56905, 0.31066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.70636, 0.30938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.30397, 0.30801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.46015, 0.3065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.39458, 0.30486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64416, 0.30312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.47863, 0.30134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.05006, 0.29961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.39218, 0.29798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.56101, 0.2965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.5751, 0.29522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.40735, 0.29418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.02967, 0.29341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.47404, 0.29295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.86147, 0.29277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.37062, 0.29288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.15586, 0.29323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.25906, 0.29379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.56973, 0.29451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.8637, 0.29536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.90277, 0.29635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.53769, 0.29747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.24384, 0.29873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.3426, 0.30009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.61884, 0.30151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.95735, 0.30295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.28773, 0.30437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.55949, 0.30575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.70623, 0.30707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.63765, 0.30835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.26983, 0.3096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.571, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.185, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.30988, 0.3161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.22785, 0.3175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.07696, 0.31875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.97305, 0.31984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.97021, 0.32076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.05181, 0.32148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15098, 0.32203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.18761, 0.3224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.10502, 0.32265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.89035, 0.32279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.56878, 0.32289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.17253, 0.32301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.69968, 0.32326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.08625, 0.32375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.21059, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 4.93137, 0.32588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.14237, 0.32751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.81953, 0.3293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.95994, 0.33095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -5.03246, 0.33212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.18448, 0.33256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.18788, 0.33215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.82181, 0.33096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.88848, 0.32919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.23508, 0.32714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.77954, 0.32508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.52554, 0.32321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.55596, 0.3216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.00879, 0.32022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.04961, 0.31899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -10.8534, 0.31779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.59639, 0.31651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.44554, 0.31511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.53361, 0.3136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -2.92558, 0.31206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.60004, 0.31059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.46815, 0.30927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.56931, 0.30814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.55314, 0.30718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.42473, 0.30636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 3.04233, 0.30563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.25331, 0.30491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.98474, 0.30414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.29936, 0.30326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.38022, 0.30223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.45035, 0.30105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.32323, 0.29977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.8813, 0.29846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.25443, 0.29717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.49876, 0.29596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.63703, 0.29487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.64594, 0.29395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.49454, 0.29325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.20066, 0.29282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.86022, 0.29268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.62255, 0.29283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.61919, 0.29324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.88456, 0.29385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.31723, 0.29463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.71114, 0.29554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.84395, 0.29659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.57064, 0.29781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.8696, 0.29922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.17673, 0.30079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.44252, 0.3025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.81672, 0.30429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.22393, 0.30611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.60495, 0.30791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.88497, 0.30966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.9646, 0.31137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.74726, 0.31302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.185, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.72188, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 9.02655, 0.3209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.09652, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.06761, 0.32381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.06399, 0.32484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.15173, 0.32558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32182, 0.32607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.50675, 0.32632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.6189, 0.3264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.59106, 0.32635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.39949, 0.32622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.05883, 0.32607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.59171, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 7.99029, 0.32606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.19327, 0.32644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.09416, 0.3272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.57931, 0.32835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.57845, 0.3298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.10432, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.73668, 0.33258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.76566, 0.33332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.76878, 0.33331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.52975, 0.33249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.84896, 0.33091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.55894, 0.32877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.54551, 0.3263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.76878, 0.32376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.26912, 0.32134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.15078, 0.31915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.55219, 0.31723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.62011, 0.31555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.50017, 0.31407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.34004, 0.3127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.28789, 0.31138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.47129, 0.31009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -1.96097, 0.30883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.74471, 0.30766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.26244, 0.30662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.16677, 0.30573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 2.02767, 0.30502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.81173, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.39999, 0.30403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.64942, 0.30366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.47732, 0.30327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.91992, 0.30278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.12812, 0.30212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.29982, 0.30128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.59068, 0.30029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.06004, 0.29923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.31933, 0.29814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.6048, 0.29707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.82718, 0.29607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.97335, 0.2952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01619, 0.2945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.96404, 0.29405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.88921, 0.29388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.9098, 0.29401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.13024, 0.29439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.57275, 0.29499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.14213, 0.29575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.65069, 0.29665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.8938, 0.29772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.73204, 0.29898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.13375, 0.30049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.16205, 0.30223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.07446, 0.30418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.47143, 0.30627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.94956, 0.30845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.44144, 0.31066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.86545, 0.31287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.11674, 0.31503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.0899, 0.31711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.72188, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.10758, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.65752, 0.326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.9587, 0.32781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.1322, 0.32922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.29812, 0.33021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52701, 0.33082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.81697, 0.3311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.10494, 0.33114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.30262, 0.33102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.3367, 0.3308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.17293, 0.33055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.81298, 0.33033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.26758, 0.33022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.52304, 0.33031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.52283, 0.33071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.17784, 0.33147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.40278, 0.33256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.16211, 0.33383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.49633, 0.33503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.43676, 0.33586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.461, 0.33608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.34837, 0.33555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.8894, 0.33427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.90689, 0.33232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.27148, 0.32988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.91763, 0.32716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.85373, 0.32437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.15555, 0.32168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -13.94129, 0.3192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.34053, 0.31701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.47427, 0.31512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.45531, 0.31351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.40122, 0.31212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.43986, 0.3109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.69215, 0.3098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.23544, 0.30879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.07217, 0.30787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.86883, 0.30706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.6897, 0.30638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.45965, 0.30586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.16712, 0.3055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.71852, 0.30529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.98793, 0.30517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.89208, 0.30504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.44798, 0.30481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.77718, 0.30438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.05124, 0.30373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.41192, 0.30289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.91725, 0.30193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.54394, 0.3009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.23439, 0.29988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.05077, 0.29889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.31167, 0.29799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.52966, 0.29725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.70806, 0.29673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.89822, 0.29649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.18728, 0.29653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.65039, 0.29684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.29374, 0.29736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -3.02436, 0.29805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.67026, 0.29888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -4.04371, 0.29989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -4.01144, 0.30112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.53296, 0.30264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.65304, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.46316, 0.30653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.06028, 0.30883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.47338, 0.31128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.0636, 0.31382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.62485, 0.31641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.05199, 0.31898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.23738, 0.32149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.10758, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.3092, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.15198, 0.33093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.75229, 0.33294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20442, 0.33446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.60965, 0.33546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.03176, 0.33599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.47243, 0.33618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.87701, 0.33613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.16427, 0.33596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.26168, 0.33578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.12777, 0.33564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.75112, 0.33559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.12904, 0.33571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.24083, 0.33606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.03422, 0.3367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.43663, 0.33765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.38918, 0.33882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 1.88862, 0.33999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.98347, 0.34089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -4.06037, 0.34123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.12018, 0.34082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.93033, 0.33964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.28624, 0.33777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.03549, 0.33538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.09133, 0.33264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.4393, 0.32976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.13373, 0.32687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.27935, 0.3241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.00119, 0.32156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.41588, 0.31929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.6192, 0.31734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.69486, 0.31572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.7339, 0.31438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -3.84485, 0.31327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.14004, 0.31234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.70109, 0.31155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.45436, 0.31087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.37871, 0.31028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.16187, 0.30981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.87536, 0.30948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.52552, 0.30931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 4.04539, 0.30929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.33188, 0.30937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.30887, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.98013, 0.3094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.43946, 0.30911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.8291, 0.30855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.27201, 0.30774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.82159, 0.30676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.45818, 0.30569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.12618, 0.30461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.78006, 0.30355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.40713, 0.30258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.01587, 0.30176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.39507, 0.30115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.859, 0.3008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.43359, 0.30073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.16387, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -3.03675, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.9568, 0.30185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.76327, 0.30253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.28293, 0.30338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.38923, 0.30448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -5.03595, 0.30588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.2536, 0.30762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.11977, 0.30968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.72531, 0.31202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.15477, 0.31458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.51264, 0.31731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.19083, 0.32013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78005, 0.323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17825, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.3092, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.34835, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.50519, 0.33543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.44711, 0.33758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.2338, 0.33919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.93514, 0.34026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.59638, 0.34085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.21662, 0.3411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.75044, 0.34116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.12912, 0.34119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.2876, 0.34129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.18223, 0.34154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.79093, 0.34197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.09784, 0.34264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.07406, 0.34357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.66926, 0.34478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.8241, 0.34622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.50228, 0.34769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.72967, 0.34893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.3793, 0.34959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.62496, 0.34941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.75822, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.53263, 0.34627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.74939, 0.34364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.28309, 0.34065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.08933, 0.33753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.19962, 0.33444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.70524, 0.3315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.73072, 0.32876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.40264, 0.32627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.82557, 0.32407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.07629, 0.32218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.21766, 0.32063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.32082, 0.31938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.47732, 0.31842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.78894, 0.31768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.33743, 0.31712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.84737, 0.31669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.79819, 0.31637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.58799, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.28438, 0.31603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.90728, 0.31607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.41582, 0.31625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.73336, 0.31651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.7968, 0.31675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.60158, 0.31683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.21451, 0.31662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.74464, 0.31606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.28973, 0.3152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.89336, 0.31412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.53795, 0.31292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.17214, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.74848, 0.31054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.24538, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.66269, 0.30854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.0002, 0.30783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.75942, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.64586, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.67353, 0.30718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.80694, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.9432, 0.30766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.92786, 0.30807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.59976, 0.30863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.84044, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.60282, 0.31055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.9095, 0.31203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.82948, 0.31389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.45004, 0.31607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.85786, 0.31854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.13505, 0.32123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.63484, 0.3241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.36207, 0.32706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.95696, 0.33003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.34835, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.2982, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.76211, 0.33963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.05361, 0.34181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.19682, 0.34352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.22449, 0.34475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.15548, 0.34556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 11.97968, 0.34611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.65781, 0.34656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.13431, 0.34708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.35471, 0.34779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.27718, 0.34877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.87245, 0.35005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.11343, 0.35166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 10.96275, 0.3536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.36959, 0.3558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.28381, 0.35811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.68743, 0.36025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.63262, 0.36181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.73353, 0.36235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.17643, 0.36161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.41812, 0.35959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.19907, 0.35655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.32907, 0.35291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.71075, 0.34908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.3379, 0.34537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.2784, 0.34194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.6486, 0.33886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.5834, 0.33612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.20759, 0.33371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.6173, 0.33163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -8.87889, 0.32988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.04435, 0.32847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.17255, 0.32739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.34141, 0.32662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.64079, 0.32612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.14802, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 1.09975, 0.32571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 2.11796, 0.3257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.96113, 0.32579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.68858, 0.32597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.32899, 0.32626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.86492, 0.32665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.24678, 0.32708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.42759, 0.32744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.39774, 0.32759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.19779, 0.32739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.90025, 0.32679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.57165, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.23987, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.88666, 0.32327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.46615, 0.32192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.93329, 0.32064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.26298, 0.31947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.45043, 0.31847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.49824, 0.31767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.59497, 0.31709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.83111, 0.31672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.19266, 0.3165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.61825, 0.31637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.99268, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.16376, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.98122, 0.31628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.33771, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.19161, 0.31717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.56508, 0.31817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.52452, 0.31957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.15642, 0.32137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.54918, 0.32351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.78569, 0.32594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.05539, 0.3286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.89678, 0.33141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.66466, 0.33428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.2982, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.2605, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.00127, 0.34418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.61637, 0.34634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.1001, 0.34817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.45102, 0.34968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.66051, 0.35094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.70505, 0.35208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.54597, 0.35328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.13635, 0.35468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.43005, 0.35641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.38734, 0.35857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 13.97365, 0.36117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.15248, 0.36424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.87838, 0.36773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.09833, 0.37149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.76838, 0.37523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.88612, 0.37851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.52919, 0.38072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.12093, 0.38129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.79225, 0.37992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.17752, 0.37676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.00696, 0.37231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.10252, 0.36726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.39499, 0.3622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -15.91068, 0.35754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.74358, 0.35347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.02423, 0.35 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -13.89032, 0.34709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.46301, 0.34467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -10.83397, 0.34267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.06695, 0.34106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.2117, 0.33982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.32185, 0.33895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.4653, 0.33843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.71964, 0.33823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.1541, 0.33829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.19215, 0.33854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.32168, 0.33893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.27187, 0.3394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 4.09128, 0.33993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.81235, 0.34051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.43588, 0.34112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.93601, 0.3417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.2813, 0.34214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.45838, 0.34231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.48273, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.38945, 0.34146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.21033, 0.34044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.95281, 0.33917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.59423, 0.33779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.0935, 0.33642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.4107, 0.33515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.52213, 0.33402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.4236, 0.33304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.1246, 0.33222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.35761, 0.33154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.99471, 0.33094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.73394, 0.33034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.48373, 0.32967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -7.11239, 0.3289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.46777, 0.32806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.41189, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.85342, 0.32672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.76352, 0.32651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.17134, 0.32673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.14606, 0.32743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.77545, 0.32857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.14876, 0.33013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.3477, 0.33205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.44475, 0.33426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.49504, 0.33668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.41323, 0.33923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.2605, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.32851, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.30277, 0.35047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.19247, 0.35262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 8.97175, 0.35467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.61432, 0.35664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.08954, 0.35861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.3601, 0.3607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.38289, 0.36306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.11229, 0.36584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.50393, 0.36916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.51595, 0.37311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.10662, 0.37774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.22937, 0.38304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.82973, 0.38891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.85072, 0.39509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.25271, 0.4011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.04876, 0.40621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.3452, 0.40951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.63621, 0.41019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.58075, 0.40794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.15086, 0.4031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.07024, 0.39656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.17738, 0.38938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.43186, 0.38242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -16.88798, 0.37619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.65825, 0.37092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -15.88003, 0.36662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.68937, 0.36318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.20329, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.51189, 0.35837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.68115, 0.3568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.76401, 0.3557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -5.81349, 0.35505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -3.89047, 0.35481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.06094, 0.35495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.38394, 0.3554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 1.10376, 0.35608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.39686, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.51863, 0.35782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.50597, 0.35874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.38996, 0.35963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.18213, 0.36046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.87312, 0.36117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.4426, 0.36167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.87281, 0.36187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.15649, 0.36171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.29415, 0.36117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.28356, 0.36031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.10921, 0.35927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.73986, 0.35818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.13576, 0.35715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.26143, 0.35625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.09706, 0.35548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.64383, 0.3548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.92376, 0.35415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), -0.02118, 0.3534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.12608, 0.35246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.29635, 0.35121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.40457, 0.34958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.29942, 0.3476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.82944, 0.34543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.87321, 0.34327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.36226, 0.34135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.28805, 0.33987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.69314, 0.33892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.65345, 0.33856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.25903, 0.33876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.5989, 0.33947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.75205, 0.34064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.78484, 0.34218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.75239, 0.34403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.29873, 0.34609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.32851, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.55219, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.71529, 0.36073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.82416, 0.36299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 8.84273, 0.36545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.73115, 0.36815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.4453, 0.37118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 13.93734, 0.37466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.15714, 0.37874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.05394, 0.38357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.57731, 0.38929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.67615, 0.39601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.29588, 0.4038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.37507, 0.41261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.8456, 0.42228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.64217, 0.43236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.72701, 0.44204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.13073, 0.4501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 0.99702, 0.45509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.39858, 0.45583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.68652, 0.452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.49474, 0.44435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.54425, 0.4344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.69645, 0.42376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -17.94313, 0.41365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.36571, 0.40477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.09213, 0.39737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.26375, 0.39145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.01389, 0.38683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.45602, 0.38332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.68004, 0.38073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.75562, 0.37891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.74024, 0.37776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.68782, 0.3772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.65383, 0.37717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.69381, 0.3776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -0.85612, 0.37841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.82747, 0.3795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.3479, 0.38076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.71764, 0.38207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.96177, 0.38335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 6.10504, 0.38455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.16088, 0.3856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.12677, 0.38647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.98657, 0.38713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.71663, 0.38753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.29078, 0.38768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.68136, 0.38762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.85678, 0.38745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.77877, 0.38727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.403, 0.3872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.68458, 0.38732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.58717, 0.38761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.09292, 0.38798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.21053, 0.38824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 2.98072, 0.38817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.47963, 0.3875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.17951, 0.38599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.84904, 0.38352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.35787, 0.38012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.53316, 0.37599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.22794, 0.37149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.34458, 0.36703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.84552, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.74943, 0.35951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.11711, 0.35683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -11.03364, 0.35494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.59173, 0.35381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.87918, 0.35337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.97166, 0.35354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.93045, 0.35423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.80405, 0.35536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.36823, 0.35687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.55219, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 1.92059, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.23665, 0.3785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.51792, 0.38111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.72565, 0.3843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.81563, 0.38815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.73846, 0.39277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.44054, 0.39831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 15.86516, 0.40494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 16.95306, 0.41287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.64191, 0.42229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.86434, 0.43336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.5451, 0.44621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.59921, 0.46079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 14.93513, 0.4768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.46951, 0.49348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.16005, 0.50938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.05747, 0.52235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.35841, 0.52994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.58198, 0.53031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.31555, 0.52325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.42615, 0.5104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.63743, 0.4944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -18.84503, 0.47777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.08192, 0.46229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.46128, 0.44884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.12828, 0.43772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.2295, 0.42883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -17.89697, 0.42192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.24168, 0.41669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.35332, 0.41287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.30394, 0.41021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.15358, 0.40854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -7.95581, 0.40771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.76075, 0.40759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.61461, 0.40807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.55596, 0.40903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.38904, 0.41033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 2.20972, 0.41185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.91004, 0.41344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.50322, 0.41502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 7.00353, 0.4165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.41829, 0.41786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.74261, 0.41908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.95799, 0.4202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 12.03387, 0.42127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.93017, 0.42236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.59933, 0.4236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.98737, 0.42511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 14.03498, 0.42702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.68018, 0.42941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.86365, 0.43227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53759, 0.43545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.67758, 0.43862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.29647, 0.44129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.45773, 0.44284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.28416, 0.44262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -2.04425, 0.44021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.30807, 0.43549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.28084, 0.42877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.76676, 0.42073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.62987, 0.41216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.80587, 0.40379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.29652, 0.39618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.15356, 0.38965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.45943, 0.38432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.30985, 0.38019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.80042, 0.37716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -9.01757, 0.37514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -7.03392, 0.374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.9073, 0.37364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.68273, 0.37397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.39625, 0.37492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 1.92059, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.36213, 0.40753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 3.80907, 0.40988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.23251, 0.41324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.59505, 0.41771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 10.85353, 0.42339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 12.9588, 0.43046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 14.85574, 0.43915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.48315, 0.44972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.77305, 0.46247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.64876, 0.47776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.02197, 0.4959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.78946, 0.51713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.83187, 0.54149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.01956, 0.56849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.23417, 0.59677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.41588, 0.62367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.63732, 0.64511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.82522, 0.65656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.49094, 0.65499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.79251, 0.64081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.25751, 0.61766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.62651, 0.5904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -21.85184, 0.56312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.02529, 0.5383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.30189, 0.51702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -22.84936, 0.49948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -21.82264, 0.48541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.3544, 0.47439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.55378, 0.46592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.50891, 0.45959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.29117, 0.45502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -11.95962, 0.45192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.56475, 0.45004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.15059, 0.44918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -4.7551, 0.44914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.40891, 0.44975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.13375, 0.45085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 2.05838, 0.4523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 4.16399, 0.45395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 6.18471, 0.45572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 8.12234, 0.45756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.97354, 0.45946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.72563, 0.46149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.35416, 0.46375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.82232, 0.46638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 16.08146, 0.46958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 17.07206, 0.47355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.72479, 0.47852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.96179, 0.48466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.69916, 0.49208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.85225, 0.50068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.34565, 0.51011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.13039, 0.51962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.20869, 0.52802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.66236, 0.53377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.67266, 0.53534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.4865, 0.53174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.49244, 0.52297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -9.0419, 0.51011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.91127, 0.49486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.98299, 0.47897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.23695, 0.4638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.72303, 0.45021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.53149, 0.43857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.76938, 0.42897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.54474, 0.42132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.95711, 0.41542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -10.09249, 0.41109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -8.0216, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.80056, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.47336, 0.40577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -1.07547, 0.40616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.36213, 0.40753 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.58535, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.59627, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.62226, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.66444, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.72246, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.79424, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.87493, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.95559, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.02234, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.05667, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.03697, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.94134, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.75111, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.45495, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.05337, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.56322, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.02171, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.4886, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04545, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.79033, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.82742, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.25173, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.13122, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.49093, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.3044, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.49643, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.95673, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.55954, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.18276, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.72145, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -58.09379, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.24087, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.12321, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.71785, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.01824, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.03757, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.8134, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.41067, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -59.91986, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.44837, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.10584, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -58.98691, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.15717, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.64657, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.45085, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.53874, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.86147, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.36203, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.98293, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.67175, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.38417, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.08431, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.74261, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.33207, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.82393, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.18453, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.37449, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.35148, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.07684, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.52492, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.69133, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.59477, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.27055, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.7602, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.10312, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.33276, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47643, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.5566, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59231, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60015, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.59436, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.58657, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.58535, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.19315, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.20581, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.22606, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.25538, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.29463, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.3446, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.40511, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.47301, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.54014, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.59237, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.6099, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.56876, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.4434, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.21076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.85633, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.38242, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.81717, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22189, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.69352, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.35951, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.36344, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.84144, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.89314, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.55513, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.78761, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.48146, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.48383, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.63115, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.7771, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.80771, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.64289, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.22802, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.5222, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.48974, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.09993, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.33532, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.20517, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.75751, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.08454, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.31725, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.60771, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.10192, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.91254, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.10187, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.67943, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.611, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.83299, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.267, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.83229, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.4548, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.07235, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.63551, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.1046, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.44465, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.62114, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.59982, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.35163, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.86113, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.13257, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18893, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.06339, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.7888, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.39065, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.88577, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.28476, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.59555, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.82611, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.98611, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.0875, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.14439, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.1719, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18434, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.19315, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.39358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.3929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.39426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.39723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.40338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.41625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.43901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.47156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.50809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.53569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.53354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.47289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.31938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.04012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.61638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.83271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.4321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.41529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.96546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.21651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.21289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.89169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -46.09849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.63071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.2875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.90621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.37673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.63557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.64679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.37949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.79184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.82878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.4349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.57671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.2649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.56848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.61688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.58697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.67308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.04691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.82349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.04653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.69536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.95324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.36225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.82431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.2576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.59879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.79955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.82059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.62862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.19979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.55357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.3417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.0408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.26077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.78474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.23963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.61679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.91221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.12741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.26941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.35058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.38738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.0183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -57.98181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.94346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.89885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.84735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.79375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.74628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.71309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.69871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.70085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.70643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.68735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.59953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.39003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.01515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.12896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.66239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.63484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.28016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.76546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -38.13617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.29557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -43.03427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -46.09544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -49.24209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.29971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -55.16767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.80504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -60.20103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.34244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.19032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.67497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.71087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.22514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.18743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.63013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.65586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.43342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.17776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.11002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.40877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.17437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.41933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.08236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.05507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.21101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.4299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.61252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.6846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.59181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.29233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.9652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.93787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.7191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.37664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.9784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.57167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.7701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.33684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.84474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.27318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.61129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.85636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -64.01248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.09078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.10946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.0909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.92137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.83337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.74612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.64895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.5357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.40906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.27953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.16172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.07031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.01507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -42.99331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -41.9803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.92357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.75, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.32176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.78614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.76377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.53801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.30312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -33.09649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.77969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -39.08475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.70088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.35565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.86093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -53.12072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -56.11043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.84005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.31437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.50454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.3404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.72506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.56512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.80363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.44261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.55137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.26723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.78992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.35772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.1997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.48074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.26649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.52257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.14226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.9863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.91888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.82952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.63751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.28354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.9098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.84067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.53871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.07203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.53288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.00676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.54435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.14971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.40972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.96697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.43088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.78835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.03635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.17789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.22319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.19236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.11381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.12327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.94252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.78486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.64052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.49067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.32043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.12668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.91857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.71419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.53622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.4056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.33017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.22186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.03652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.6413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.29138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.69536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.70874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.65509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.74343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.99478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -30.22963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -34.12905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -38.33549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.54134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.53629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -50.21386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.54911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.55977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.26373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.64746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.65549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.20234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.19966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.58642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.34975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.53315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.24015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.63866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -60.95506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.43995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.3071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.67489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.54383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.35731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -59.01746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.68564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.27959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.7348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -60.99203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.00071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.73973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.24042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.5903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.90826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.30141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.82617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.47306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.87, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.47502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.95991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.31355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.53631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.63195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.61005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.49296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.31703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.12327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.24101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.94237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.69411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.4845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.28521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.0696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.82506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.55579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.28006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.02562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.82192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.68482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.59533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.48495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.24518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.76919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.05116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.09521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.47449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.57151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.73013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -17.15745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.8556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.61836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -28.0974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.90293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.69183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -42.21743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -46.34109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -50.01546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -53.24976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -56.06883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.47996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.4584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.95331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.9067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.03902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.2242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.90254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.2121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.36101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.60331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.17872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.24078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.81686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.8233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.11968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.5039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.84885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.01432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.92939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.55766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -53.93041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.15361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.37592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.73092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.28367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.00983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.59156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.24749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.74314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.07257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.24272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.25979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.13317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.88825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.57178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.24101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.29246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.84287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.48326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.20187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -28.95997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.71631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.44528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.14295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.82517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.52219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.26867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.08437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -18.94848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.78365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.47016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.89704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.0321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.97706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.98087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.40364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.64133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -7.03094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.76241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.82615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -16.01649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.98771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -26.33766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.68799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.74048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -41.30265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -45.28456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.67343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.49691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.78928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.57144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.84675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.60564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.83168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.63647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.25499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.47555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.49387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.5681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -47.95431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.82498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.21905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.05514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.19278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.49708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.87064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.24474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.55006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.69793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.59425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.18293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.49124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.64193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.81517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.17463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.79642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.64049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.46233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.17952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.6839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.97639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.07248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.9821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.71524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.30157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.80121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.29246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.30944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.68572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.20214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.84929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.57794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.32986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.06318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.76318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.44165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.12992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.8651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.66664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.50835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.30487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.93291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.29026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.3681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.29951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.64082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.08629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.65869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.05335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.10541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -3.17803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.62183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.91555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.66686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -24.4678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.96079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.88641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -39.10053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.56103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.29625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.37067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.85845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.8259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.31826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.34972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.95346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.50368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.63792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.54341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.48815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.74609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.50276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.79822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.5435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.59231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.81416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.12553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.47192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.78747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -38.97155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -38.90743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.51768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.8223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -36.95758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.13334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.54335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.27569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.27503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.39661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.19473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.71906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.9768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.99218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.77956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.35044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.74036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -27.02553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.30944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.4881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.69213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.09102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.68054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.40211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.17957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -6.95249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.6932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.40843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.12997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -1.89585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.72268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.42204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.62776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 3.0118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.65659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.54235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.51161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.28426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.51553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.87145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.04645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 5.71831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.23641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -4.14537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -10.06513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -16.10145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.84683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.97895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -31.30016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.73739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.3157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -39.12443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.28572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.92453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.13796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.96943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.38281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.88117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -35.95204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.77388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.62516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.79793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.48909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.7364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.43937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.44245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.61737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.89456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.23624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.58471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.83286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.84595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.52719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.88731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.07037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.30842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.8194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.70148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.88675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.18148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.36321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.27182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.84509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -25.0933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -24.04725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.72542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.14183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.3392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.41115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.4881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.21119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.28223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.59666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.1582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 1.09769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.26321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.41749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.60224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.81675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 7.02942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.20187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.32014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.42004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.58806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.92633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.49158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.23876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.00055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.51359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.47682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.61459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.72107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.6789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.46361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.15207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 4.93887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.85817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.82983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.54894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.65558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.91329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -25.22045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.59045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -29.12203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.96797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.2977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.25213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.90227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.23344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.1727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.65717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.71475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.51185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.33047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.47287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.14243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.37463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.06054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.03748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.17873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.42659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.75996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.13368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.44274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.54424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.32879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.79778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.09461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.45945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.12106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.1825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.56883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.43503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.48972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.15878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.4497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.39517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -13.01619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.32988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.38644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.2954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.21119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.0071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.99357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.70747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.13459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.33966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.42522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.48576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.57631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.70318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.8363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.93728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.99244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 20.035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.14029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.38865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.81103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.34576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.71347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.64772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.68065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.71636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 22.72176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 18.74092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 13.92245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.53666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 2.95433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.41935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -7.22792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -11.22311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.28261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.39899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.66028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.2261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.28993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -18.02421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.52484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.78493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.7207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.24685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.3676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.23172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.11076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.30113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.00297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.25042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -3.93421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.89209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.00048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.20991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.5127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -4.87902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.21642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.38839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.28461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -4.89948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.36581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -3.91293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.76183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.01263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.59102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.84321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -6.07569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.89618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.3023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.32186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.9754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.28266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.70033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.8536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.0071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.65698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.6064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.2832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.66099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.79752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.79688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.76206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.75835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.79961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.8594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.90001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.90531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.89981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.94098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.08442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.63464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.82624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.72164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.12677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 35.87988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 34.86511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.01047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.2883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 26.73183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.46296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 17.7087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 12.7835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.03456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 3.77404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.23061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.46718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.28862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.29553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.63166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.49123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.06092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.67972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.65352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.28239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.44727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.41103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.3651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 6.03821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.24482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.95106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.25671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.3135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.23854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 8.07718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.8297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.51111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.19259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.98929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.99866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.22876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.56561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.80847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.76216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.33731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.60064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.74663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.01208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.58663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.56772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 4.97349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.78789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 6.99478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.5737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.46672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.55221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.65698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.37718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.19811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.77721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.07608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.13918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 30.06248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.94845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.86743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.84016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.84586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.84899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.82949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.79929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.79454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.84621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.02017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.94557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.56659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.7353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.33497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.28696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.54708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.10636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.00533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.35468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.34411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.22467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.26675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.71338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.75008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.49496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 7.99518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.21941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.05443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.32639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.8543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.51637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.29134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.24578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.46774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.98096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.68987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.39255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.85845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.92569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.56021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.84468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.91146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.86724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.75611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.57733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.33484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 19.07535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.8831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.83214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.92761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 19.07753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.1197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.89552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.33177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.4839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.51714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.63979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.02931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.79025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 14.9584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.53374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.86281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.54328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.43579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.37718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.02078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.64011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.07281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.27164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.26449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.1312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.96444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.83284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.76162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.73664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.72625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.70699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.6776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.65312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.64228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.62166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.5222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.23603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.63989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.62253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.10323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.03619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.40727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.23391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.57332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.5326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.26865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 30.97088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 27.83199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.02166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.67393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 20.88478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.70646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.13219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.08301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.41846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.97997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.65049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.39587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.26038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.3148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.58504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 26.0039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.41707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.64222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.54646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.09651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.35489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.42969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.41357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.3497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.24035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 30.08328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.90327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.75237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.67724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.67605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.67656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.55512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.19125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.52963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.61481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.59959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.83109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.38029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.29775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.59939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.28615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.34397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.72519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.3316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.02078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.62858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.99778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.2494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.33322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.26118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.09224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.90166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.74918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.66026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.62645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.62113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.61929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.60883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.58693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.44614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.22621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.79141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.04238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.89551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.29817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.23287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.7143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.78669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.52439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.03176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.43645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 38.87428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.47191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.33638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.55493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.19784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.31268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.90694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.93094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.28051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.82819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.47099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.16698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.93738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.83058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.86838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 36.00694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.13695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.1241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.86614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.33307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.56857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.65557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.67021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.65274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.60903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.53439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.43706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.34182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.27003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.21122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.10787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.86843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.40566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.68111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.7313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.66181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.61406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.72397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.09265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.77948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.81237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.20021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.93396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 34.97528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.2453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.62858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.51013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.46991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.33733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.14974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.96035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.81396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.73114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.70626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.71741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.73998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.75487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.69194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.54999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.25573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.72764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.88381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.66097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.02813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 56.99084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.58773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 53.88422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 51.96623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 49.9328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 47.88621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 45.92058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.11383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.52748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.21315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.21771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.57855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.30786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.37637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.71142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.80915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.44327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.12186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.87162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.70692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.6007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.48114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.25664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.85453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.25077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.47407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.58411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.63932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.67392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.69529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.69769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.67824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.64148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.58888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.50183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.33276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 47.01426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.48541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.72247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.75756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.67525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.59002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.61671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.84782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.34492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.14226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.25384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.67507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.37724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.30134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.11985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.95435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.76393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.5669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.39386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.27147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.21108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.20618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.2378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.28264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.32107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.26073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.09175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.75181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.16819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.27198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.01512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.38313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.39887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.11761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.61731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 56.98769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.31935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.69377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.17593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.81237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.63609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.67505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 47.95762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.50926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.34039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.43331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.73883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.71512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.27846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.86772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.49237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.15905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.85176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.52735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.12916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.61079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.95595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.18271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.33098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.4416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.53986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.63131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.70859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.76134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.78035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.75305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.65481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.44492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.0738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.50092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.71532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.74792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.66885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.55235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.69228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.04974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.66007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.5394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.68666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.08211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.68506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.35566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.07225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.82462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.61689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.46033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.36418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.32888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.34415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.44894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.4922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.4945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.42141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.22655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.85101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.22968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.30427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.03888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.43158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.51693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.35914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.04002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.64609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.25736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 58.93913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.73789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.68267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.79112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.07738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.55668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.24338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.14289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.24261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.5088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.34568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.83072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.33138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.84586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.37492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.90968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.42747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.89803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.29629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.61376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.86168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.06415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.24585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.42136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.59122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.74482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.86602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.93647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.93456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.83227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.59471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.1863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.58305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.78553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.82584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.76459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.64922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.74346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.01341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.49181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.19479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.1241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.26792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.0697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.2896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.2645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.28577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.33396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.38677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.41958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.40384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.30392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.07426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.66004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.0034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.05562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.79133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.21837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.37829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.33779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.17577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 65.97076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.79141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.69062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.70391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.85177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.59064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.19547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 59.96513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.89951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 59.98744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.20463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.8883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.28918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.70174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.11872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.53774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.95465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.36038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.74277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.09205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.40614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.69192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.9617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.22653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.49006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.74579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.97814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.16561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.28344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.30464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.2003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.9416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.50527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.88169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.08214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.14132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.11337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.06305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.37908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.36988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.89069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.27579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.16815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.1229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.12211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.14519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.16938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.16938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.11576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 72.97252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.69553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.2339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.53655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.56365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.2994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.75954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 72.98932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.0536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.02419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 69.96926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 68.94623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 67.99832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.15428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.43071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.8359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.37381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.04636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.85347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.79088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.84771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.24012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.52576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.84011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.16765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.50018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.83472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.17036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.50607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.8404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.17286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.50524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.8415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.18567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.53837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.89371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.23773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.54899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.80065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 71.00593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.90159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.6279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.17325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.54105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.75232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.84462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.86731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.87464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.04446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.28594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.66654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.89119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.74054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.74302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.89069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.25192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.77733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.2229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.78121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.44327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.19791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.03148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.92779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.86839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.83275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.79822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.73928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.42228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.08506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.56656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.82127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.81727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.54749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.03438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.32496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.47984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.5619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.6282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.72556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.88905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.14245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.50009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 69.96935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.55302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.25085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.05992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.97409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.98326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.22725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.42747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.6584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.90863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.17169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.44559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.73144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 71.03202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.35078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.69125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.05651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.4482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.86489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.30026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.74143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.16827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.55393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.86659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 75.07245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.13944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 75.04178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.76445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.3067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.6835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.92404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.06802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.16054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.24697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.36874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.5605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.84886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.25247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.78306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.44703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.24688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.18251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.25192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.58516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 70.99655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.37111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.85122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.09429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.83465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.63545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.48008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.3498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.22342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.07632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.87904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.59578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.1843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.59878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.79781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.75617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.47481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 79.98211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.32574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.56086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.7407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.91131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.10956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.36305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.69096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.10546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.61316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.21652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.91484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.70475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.58042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.63133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.75324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.91045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.09588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.3057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.53928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.79863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.08745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.41012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.77059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.17127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.61175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.08748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.58847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.09816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.59292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 78.04239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.41112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.66194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.76112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.68467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.42368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.9867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.39792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.69244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.91067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.09342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.27845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.49842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.77987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.14311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.60279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.16877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.84728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.6419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.55441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.58516, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58416.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57269.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56109.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 54944.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53781.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52623, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51468.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50310.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49139, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 47937.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46687.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45372.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 43979.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42502.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 40946.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39323.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37659.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 35986.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34345, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32778.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31330.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30040.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 28937.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28035.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27331.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26805.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26425.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26150.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25940.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25762.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25593.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25421.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25250.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25095.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 24982.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 24948.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25035.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25292.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25768, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26501, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27519.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28835.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30441.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32315, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34420.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36713.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39145.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41663.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44220.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46772.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49280.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51708.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 54026.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56203.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58209.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 60014.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61593.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62927.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 64003.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64818.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65377.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65692.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65779.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65657.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65346, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64866.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64237.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63479.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62611.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61653.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60623, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59538.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58416.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56259.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55057.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53847.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52637, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51433.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50241.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49061.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47889.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46714.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45519.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44286.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 42994.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41626.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40174.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38637.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37024.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35358.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33672, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32008.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30420, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 28960.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27681, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26621, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25800.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25217.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24844.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24635.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24537.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24495.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24466.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24420.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24344.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24237.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24110.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 23988, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23904.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23909.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24062.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24426.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25063.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26017.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27313.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28949.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30899.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33118.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35549.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38126, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40782.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43458.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46101.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48666.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51121.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53435.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55581.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57533.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59265.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60753.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61983.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62946.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63647.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64095.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64306.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64299.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64093.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63706.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63156.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62461.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61638.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60705.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59682.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58587.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57440.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56259.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53916, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52686.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51451.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50218.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 48995.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47785.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46592.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45414.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44244.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43069.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41869.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40626.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39321.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 37941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36479.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 34941.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33339.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31705.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30081.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28524.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27099.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25868.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24882.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24167, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23719.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23505.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23467.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23539.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23658, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23776.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23864.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23906.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23901, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23851.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23770.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23685.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23640.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23697.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 23934.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24431.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25257.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26458.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28042.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29989, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32246.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34746.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37405.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40141.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42878.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45551.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48113.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50529, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52771.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54817.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56644.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58231.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59561.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60626.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61430.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61985.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62307.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62416.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62330.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62062.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61629.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61042, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60314.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59460.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58495.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57438.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56309.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55128.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53916, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51415.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50183.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48949.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47718.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46496.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45287.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44096.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42925.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41771.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40625.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39473.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38299.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37084.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35814.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34477.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33066.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31587.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30063.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28535.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27061.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25714.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24567, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23677.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23077, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22762.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22691.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22798.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23010.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23263.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23512.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23732.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23914.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24051.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24138.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24173, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24162.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24135.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24147.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24280.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24628.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25283.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26315.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27756.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29599.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31796.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34272.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36932.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39675.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42408.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 45055.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47561.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49887.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 52009, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53903.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55552.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56938.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58055.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58908.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59515.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59900.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60090.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60103.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59952.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59645.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59187.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58587.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57852.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56993.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56023.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54959.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53822.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52633.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51415.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48772.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47564.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46358.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45156.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 43962.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42779, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41612.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40467.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39346.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38245.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37156.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36067.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 34965.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33833.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32652.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31407.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30094, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28725.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27338.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 25993.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24763.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23728, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22949.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22462.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22260.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22301.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22515.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22829.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23184.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23543.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23892.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24226.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24538.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24813.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25027.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25164.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25232.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25270.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25350.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25572.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26042.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26853.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28066.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29699.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31724.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 34068.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36628.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39291.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41949.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44510.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46912.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49112, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51079.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52792.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54230.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55382.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56250.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56859, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57245, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57450.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57507.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57434.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57234.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56903.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56437.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55837.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55110.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54264.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53310.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52263.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51142.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49971.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48772.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46015.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44860.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43710.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42567.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41432.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39195.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38105.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37044, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36011.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35005.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34021.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33049.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32070.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31064.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30007.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28885.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27703.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26493.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25311.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24231.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23327.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22663.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22273.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22155.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22267.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22547.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22928, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23357.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23810, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24279.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24767.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25264.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25743.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26165.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26490.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26703.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26822, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26904.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27041.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27341.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27911.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28841.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30183.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31935.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 34041.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36401.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38892.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41395.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43809.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 46061.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48103.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49898.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51417.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52635, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53541, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54150.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54504.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54665.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54693.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54627.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54481.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54244.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53900.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53433.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52841.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52129.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51308.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50386.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49376, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48295.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47166.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46015.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43204.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42131.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41069.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40018.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 38976.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37944, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36925.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35929, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 34962.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34030.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33135.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32277.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31448.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30634.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29810.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 28949.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28031.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27055.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26045.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25051.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24137.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23370.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22809.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22489.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22413.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22552.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22857.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23273.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23757.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24288.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24864.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25486.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26802.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27409.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27911.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28274.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28498.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28620.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28713.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28878, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29225.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29866.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30880.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32299.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34091.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36167.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38405.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40679.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42884.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44942.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46798.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48409, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49733.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50739.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51413.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51779.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51898.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51853.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51721.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51549, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51342.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51079.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50725.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50258.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49674.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48981.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48191, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46357.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45339, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44280.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43204.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40447.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39486.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38544.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37617.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36702.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35799, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34911.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34048.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33216.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32421.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31669.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 30960, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30290, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29646.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29006.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28341.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27630.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26867.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26068, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25268.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24520.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23395.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23105.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23023.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23140.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23426.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23843.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24356.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24944.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25599.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26316.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27079.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27852.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28581.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29207.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29687.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30005.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30180.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30265.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30341.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30515.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30904, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31610.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32693, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34143.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35888.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37816.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39805.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41750.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43574.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45220.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46637.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47774.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48589.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49065.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49229.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49156.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48945.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48685, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48426.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48169.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47879.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47512.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47041.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46461.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45785.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45029, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44203.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43316.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42381.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41417.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40447.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37898, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37079.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36283.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35507.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34748, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34003.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33280.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32585.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31924.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31302.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30722.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30184.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29687, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29219.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28762.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28291.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27783.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27228.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26631.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26013.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25411.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24867.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24424.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24121.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 23984.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24026.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24243.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24616.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25118.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25724.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26413, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27168.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27967.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28775.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29544.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30221.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30763.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31146.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31374.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31476, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31514.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31583.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31795.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32262.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33056.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34188, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35602, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37200.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38874, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40528.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42092.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43509.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44726.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45686.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46337.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46659.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46679.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46475.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46152.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45802, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45475.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45168.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44842.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44449.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43962, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43378, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42714.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41991.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41221.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40414.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39580.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38736, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37898, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35735.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35080.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34452.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33846.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33258.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32691.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32153.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31650.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31186.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30763.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30379.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30032, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29718.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29431.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29156.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28872.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28556.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28191.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27771.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27303.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26810.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26324.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25884.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25528.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25295.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25216.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25587.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26022.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26588, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27251, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27980.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28747.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29518.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30255.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30918.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31470.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31887.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32159.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32300.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32352.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32392.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32522, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32845.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34311.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35431.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36717.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38079.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39439.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40736.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41920.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42937.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43730.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44246.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44461.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44398, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44127.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43747, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43341.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42956.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42590.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42206.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41763.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41239.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40637.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39977.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39282.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38569.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37847.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37126.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36419.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35735.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34119.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33637.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33185, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32753.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32341.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31956.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31609.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31308.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31054.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30845, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30671.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30527.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30407.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30305.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30210.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30103.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 29960.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29755.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29473, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29111, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28682.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28215.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27742.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27305.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 26948.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26718.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26655.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26781.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27090.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27552.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28126.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28771.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29452, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30137.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30800.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31411.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31943, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32372.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32683.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32880.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 32990.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33073.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33212.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33493.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33977.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34678.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35567.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36586.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37669.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38758.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39807.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40770.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41600.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42242.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42649.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42796.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42699.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42416, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42020.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41582.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41138.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40690.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40216.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39691.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39103.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38461.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37789.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37110.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36445.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35805.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35201.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34638.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34119.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33142.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32827.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32543, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32278, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32034.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31823.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31661.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31559.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31515.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31522.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31564.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31629.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31708.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31794.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31876.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31934.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 31939.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31861, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31675.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31374.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 30968.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30481.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 29949.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29414.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28924.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28535.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28298.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28249.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28392.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28702.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29139.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29657.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30221, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30802.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31379.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31932.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32438.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32875.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33227.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33492.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33690.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33868.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34087.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34407.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34866.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35471.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36198.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 37010.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37867.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38734, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39574.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40350.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 41020.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41537.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41860.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41969.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41873.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41605.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41217.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40751.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40236.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39682.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39084, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38438.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37751.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37040.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36330.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35647.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 35011.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34437.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33935.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33506.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33142.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32825, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32649.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32510.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32393.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32302.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32251.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32261.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32345.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32502.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32718.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 32972.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33245, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33522.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33794.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34047.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34256.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34389.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34408.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34286.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34011.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33594.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33062.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32452.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31811.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31193, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30656.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30259.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30041.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30013.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30157, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30811.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31250.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31731.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32235.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32744.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33237.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33689.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34084.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34422.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34720.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35014.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35346.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35748.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36235.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36801, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37427.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38095.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38789.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39491.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40179.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40819.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41373.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41801.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42071.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42166.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42085.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41844.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41462.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40963.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40363.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39679, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38927.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38129.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37309.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36495.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35715.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34995.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34358.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33819.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33389, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33062.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32825, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33127.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33050.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33023.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33030.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33071.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33164.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33332.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33587.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33928, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34337, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34788.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35258.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35725.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36176.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36589, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 36935.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37177.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37274.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37195.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 36928.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36484.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35893.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35199.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34455.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33722.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33062.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32534.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32178.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32004.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 31998.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32130.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32371.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32697.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33092.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33542.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34027.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34521.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34996.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35840.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36228.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36629, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37067.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37555.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38645.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39218.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39799.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40392.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40993.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41589.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42151.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42643.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 43029, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43280.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43381.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43324.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43105.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42722.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42178.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41484.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40661.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39745.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38776.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37798.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36851.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35969, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35178.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34503.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33959.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33555.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33284.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33127.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33992, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33967, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34014.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34115.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34270.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34493, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34803.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35212.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35717.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36297, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36923.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37567.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38204.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38813.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39368.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39834.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40170.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40332.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40288.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40024.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39553.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 38908.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38137.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37304.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36475.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35719.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35093.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34634.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34349.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34226.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34239.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34368.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34599.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34925, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35333, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35802.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36301.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36798.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37275.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37731.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38184.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38659.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39172.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39721.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40288.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40854, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41407, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41951.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42500.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 43061.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43624.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44165.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44648.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 45037.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45305.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45433.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45404, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45201.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44809.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44218.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43433.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42480.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41406.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40270.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39130.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38037.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37032.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36145.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35399.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34810.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34386.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34121.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33992, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35369.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35352.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35438.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35607.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35856, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36193.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36633.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37180, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37825.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38547.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39316.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40101.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40875.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41610.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42277.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42838.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43249, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43464.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43451.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43196.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42709.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42026.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41200.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40300.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39401.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38573.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37875.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37338.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 36970.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36757, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36677.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36717.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36869.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37133.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37499.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37946.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38441.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38947.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39444.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39928.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40416.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40928.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41474.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 42050.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42636.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43212.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43772.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44322.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44880, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45453.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 46036.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46604.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47121.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47551.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47863.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 48033, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 48036.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47848.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47445.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46811.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45951.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44894.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43694.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42419, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41137.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39910.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38784.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37792.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36958.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36298.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35818.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35515.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35369.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37223.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37185.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37280.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37492.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37815.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38251.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38802.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39464.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40224.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41056.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 41930, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42814, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44497.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45235.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45855.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46312.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46564, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46576, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46334, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45847.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45149.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44297.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43361, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42418.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41541.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40787.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40188.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39748.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39458.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39300, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39262.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39345, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39547.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39862.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40271.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40739.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41232, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41724.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42212, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42704.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43219.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43766.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44342.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44932.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45524.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46111.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46703.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47311.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47942.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48585.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49216, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49796.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50289.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50659.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50877, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50912.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50738.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50327.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49665.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48757.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47635.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46355.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44988.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43610.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42286, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41065.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39985.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39068.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38331.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37780.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37415.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37223.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39524.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39451.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39537.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39772.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40147.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40656.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41291.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42039.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42878.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43780.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44714.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45648.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46555.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47405, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48165.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48801, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49269.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49530.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49553.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49324.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48849.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48161.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46372.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45415, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44511.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43715.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43060.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42553.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42189.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41955.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41844.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41856.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41990.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42242, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42590.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 43007.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43459.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43922.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44388.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44862.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45359.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45888.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46451.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 47043, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47656.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48289.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48947.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49635.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50350.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 51078.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51789.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52445.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 53007.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53698.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53762.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53600.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53188.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52516.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51592.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50451.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49147.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47752.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46338.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44972.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43706.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42575.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41604.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40808.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40196.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39769.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39524.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42220.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42115.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42186.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42425.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42824.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43371, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44049.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44838.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45709.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46633.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47576.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48510.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49405.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50234.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 50968.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51573.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52014.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52256.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52272.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52050.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51594.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 50934.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50115.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49201.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48258.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47350.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46530.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45828.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45260.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44823.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44515.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44266.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44324.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44497.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44767.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45110.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45497.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45909.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46777.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47247.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47754.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48306.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48905.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49549.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50239.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50975.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51752.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52559.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53375.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54166.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54892.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55513.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55989, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56284.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56370.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56220.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55817.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55156.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54252.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53139.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51871.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50512.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49132.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47791.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46539.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45411.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44431.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43614.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42970.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42504.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42220.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45209.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45087.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45140.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45366.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45756, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46295.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 46964.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47737, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48583, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49470.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50368.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51246.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52079.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52840.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53503.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54040.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54421.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54618.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54611.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54388.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 53956.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53337.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52571.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51709.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50808.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49923.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49101, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48372.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47756, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47258.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46880, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46621, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46480.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46455.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46540.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46720, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46974.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47283.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47630.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 48006.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48412.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48856.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49349.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49900.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50515.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51196.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51943, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52749.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53605, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54489.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55375.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56225.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 57000.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57658, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58161, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58475.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58575.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58440.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58059.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57436.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56588.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55551.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54373.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53113.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51830.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50579.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49404.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48337.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47401.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46611.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45977, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45507.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45209.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48318.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48191.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48226, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48420.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48766.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49251.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49854, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50549.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51307.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52099.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52895.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53668.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54393.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55047.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55605.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56046.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56346.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56484, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56444.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56219.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55816, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55250.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54555.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53768.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52937.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52104.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51309.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50583.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49945.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49407.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48975.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48653.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48440.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48335.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48331.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48419.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48583.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48811.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49091.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49416.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49788.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50214.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50701.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51259.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51894.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52608.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53397.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54251.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55153.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56080, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56997.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57870.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58658.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59323.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59831, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60150.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60260.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60148, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59808.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59250.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58495.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57577.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56538, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55427.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54296.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53189.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52144.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51189.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50345.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49626.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49042.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48604.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48318.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51309.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51184.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51195.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51340.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51613.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52002.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52490.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53056.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53674.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54319.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 54967.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55593.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56175.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56692.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57126, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57456.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57666.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57741.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57669.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57448, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57080.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56581, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 55971.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55281.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54544.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53794.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53062.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52374.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51750.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51205, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50747.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50384.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50117.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49946, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49867.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49875.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49961.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50117.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50338.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50620.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50964.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51376.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51860.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52424.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53069.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53796.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54597.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55458.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56361.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57278.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58178.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 59026.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59787.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60426.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60915, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61227.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61348.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61270.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60993.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60529.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59900.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59135.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58271.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57348.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56405.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55479.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54601.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53793.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53074.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52457.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51951.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51566.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51309.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53924, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53800.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53780.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53863.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54043.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54312, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54656.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55061, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55507, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 55975.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56445.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56899.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57318.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57686.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 57986.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58203.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58326.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58343.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58247.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58036.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57714.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57291, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56780.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56203.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55582.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54941.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54304.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53693, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53123.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52611.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52166.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51796.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51507, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51299, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51172.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51126.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51157.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51262.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51439.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51687, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 52007.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52402.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52874.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53427, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 54057.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54762.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55530.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56349.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57196.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 58048.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58877.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59653, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60345.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60928, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61376.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61673.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61807.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61774.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61578.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61231, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60750.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60162.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59494.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58777.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58040.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57313, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56617, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55971.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55392.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54890.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54473.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54149.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53924, 145 + 500);
}
